use structured transaction in store and mempool #1146
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Both the block store and mempool types were still using opaque transctions (
[]byte
) from the early version of the p2p demo. This updates both to use*types.Transaction
.This change stops short of updating the
Block
type to have aTxns []*Transaction
field instead ofTxns [][]byte
, but that change should also be made. This can wait until the block data / chain RPCs are complete. It will also require updating the block serialization code, although the effective binary serialization will be identical.This also updates the mempool implementation and interface:
PeekN
will return those at the front of the queue. The maps still remain there for fast indexing and existence checks.Remove
method that is the same asStore(txid, nil)